This page last changed on Apr 03, 2009 by mpb6001.

Varchar Tests

Note: These character tests are not always just the character themselves but various combinations of strings involving them.

Confluence escapes HTML entities so the entity name is what is placed where necessary (i.e. quot).

Interface XML
Oracle DB
MySQL DB
Oracle Pass/Fail
MySQL Pass/Fail
Notes
" quot " "
Pass
Pass

' apos
' '
Pass
Pass

< lt
< <
Pass
Pass
 
> gt
> >
Pass
Pass
 
& amp
& &
Pass
Pass
 
" " " "
" "
" "
Pass
Pass
 
¡ ¡
¡ ¡
Pass
Pass
 
¢ ¢ ¢ ¢
Pass
Pass
 
£ £ £
£
Pass
Pass
 
¥ ¥ ¥
¥
Pass
Pass
 
¦ ¦ ¦
¦
Pass
Pass
 
§ § §
§
Pass
Pass
 
¨ ¨ ¨
¨
Pass
Pass
 
© ©
©
©
Pass
Pass
 
« « « «
Pass
Pass
 
® ®
®
®
Pass
Pass
 
¯ ¯ ¯
¯
Pass
Pass
 
° °
°
°
Pass
Pass
 
± ±
±
±
Pass
Pass
 
´ ´ ´
´
Pass
Pass
 
µ µ µ 
µ 
Pass
Pass
 



Pass
Pass
 
» » »
»
Pass
Pass
 
¿ ¿ ¿
¿
Pass
Pass
 
× ×
×
×
Pass
Pass
 
÷ ÷
÷
÷
Pass
Pass
 
™ 
™ 
Pass
Pass
 
Ø Ø
Ø
Ø
Pass
Pass
 
? ?
?
?
Pass
Pass
 
~ ~ ~
~
Pass
Pass
 
˜ ˜
˜
˜
Pass
Pass
 
= = =
=
Pass
Pass
 
- -

Pass
Pass
 
Overflow strings "overflow string"
limited to metadata precision
limited to metadata precision
Pass
Pass
input larger than varchar precision is not allowed
Multi-word strings "This is a multi word test string"
"This is a multi word test string" "This is a multi word test string"
Pass
Pass
 
Attempt newline, tabs,  "This \r \t \n is a multi word test string"
"This \r \t \n is a multi word test string" "This \r \t \n is a multi word test string"
Pass
Pass
 
Numbers as a string "1 2 3 4 5 6 7 8 9 10 -9 -8 -7 -6 -5 -4 -3 -2 -1" "1 2 3 4 5 6 7 8 9 10 -9 -8 -7 -6 -5 -4 -3 -2 -1" "1 2 3 4 5 6 7 8 9 10 -9 -8 -7 -6 -5 -4 -3 -2 -1"
Pass
Pass
 
Numbers in a string
"Hello my 8 is named after 5" "Hello my 8 is named after 5" "Hello my 8 is named after 5"
Pass
Pass
 
Equations "3 * 8 + 5 - 4 =" "3 * 8 + 5 - 4 =" "3 * 8 + 5 - 4 ="
Pass
Pass
 
Empty string (null) null
unchanged
unchanged
Fail

Fail
readXML : null
Crazy Strings
<%>>$@!|{}+_"/ <%>>$@!|{}+_"/ <%>>$@!|{}+_"/
Pass
Pass
 
Crazy Strings quotquotquotquotquotquotquotquotquotquot """""""""" """"""""""
Pass
Pass
 
String of max length (as described in DB)
tententent
tententent tententent
Pass
Pass
 
Keyboard Characters
`~!@#$%^amp*()_-+=closeopen[]bar\:;quotapos?/gt.lt, expected (wiki thinks the output is a macro)
expected (wiki thinks the output is a macro)
Pass
Pass
 
Leading spaces
"                        before"
maintains spaces
maintains spaces
Pass
Pass
 
Trailing spaces
"after                          "
maintains spaces maintains spaces
Pass
Pass
 
Spaces within
"                   inside                   "
maintains spaces maintains spaces
Pass
Pass
 

Number Tests

Note: May need to adjust tests for precision and scale and also consider whether they are input errors or something that the DB will reject.

Interface XML
Oracle DB
MySQL DB
Oracle Pass/Fail
MySQL Pass/Fail
Notes
null
null value
unchanged unchanged
Fail
Fail
readXML : null
0
0
0
0 (filled out to precision of datatype)
Pass*
Pass*
Get rid of 0E-10 when displaying?
Small integers
integers of appropriate precision
expected expected
Pass
Pass
 
Large integers
integers of appropriate precision expected expected
Pass
Pass
 
Decimal in integer field
various decimals in integer fields
Rounded decimal
unchanged
Pass*

Fail
Oracle ->
MySQL -> readXML : For input string: "1.5"
Integer in decimal field
various integers in decimal fields
the integer
the integer
Pass
Pass
 
Small decimals
integers of appropriate precision and scale
expected expected
Pass
Pass
 
Medium decimals
integers of appropriate precision and scale expected expected
Pass
Pass
 
Large decimals
integers of appropriate precision and scale expected expected 
Pass
Pass
 
Signed integers (various sizes)
-[valid number]
expected
expected
Pass
Pass
 
Signed decimals (various sizes)
-[valid number] expected expected
Pass
Pass
 
Overflow
Larger than datatype size
unchanged
unchanged
Pass
Pass

Strings (shouldn't even be able to enter these)
1234B, B2345, etc...
unchanged
unchanged
Pass
Pass

Special characters
12~12, !2345, etc...
unchanged unchanged
Pass
Pass

Invalid scale large scales
rounded input to proper scale
rounded input to proper scale
Pass
Pass
This works unless the rounding forces the number to an invalid precision (i.e. 999.999 will round to 1000 and with a number(5,2) it overflow and cause a DB exception).

Date Tests

Note: These may become entirely obsolete through forcing input through a widget

Interface XML
Oracle DB
MySQL DB
Oracle Pass/Fail
MySQL Pass/Fail
Notes
Epoc            
M/D/Y            
M/D/Y/H/S            
Different dates (java, mysql)
           
Document generated by Confluence on May 21, 2009 10:23